import request from '../utls/require'

// AI 绘画生成请求参数
export interface PaintingParams {
  styles: string[]           // 艺术风格数组，如 ['油画', '印象派']
  description: string        // 主要描述
  keywords: string[]         // 自定义关键词
  ratio: string              // 图片比例，如 '1:1', '16:9'
  resolution: string         // 分辨率，如 '768x768'
}

// AI 绘画生成响应
export interface PaintingResponse {
  code: number
  message: string
  data: {
    artwork_id?: number
    image_url: string
    created_at?: string
  }
}

/**
 * 生成 AI 绘画作品
 * @param params 生成参数
 */
export function generatePainting(params: PaintingParams) {
  return request<PaintingResponse>({
    url: '/creation/painting/generate',
    method: 'POST',
    data: params
  })
}

// AI 音乐生成请求参数
export interface MusicParams {
  styles: string[]           // 音乐风格
  mood: string               // 情绪
  instruments: string[]      // 乐器
  duration?: number          // 时长（秒）
}

/**
 * 生成 AI 音乐作品
 * @param params 生成参数
 */
export function generateMusic(params: MusicParams) {
  return request({
    url: '/creation/music/generate',
    method: 'POST',
    data: params
  })
}

// AI 写作生成请求参数
export interface WritingParams {
  genres: string[]           // 文体
  themes: string[]           // 主题
  keywords: string[]         // 关键词
  requirements?: string      // 其他要求
}

/**
 * 生成 AI 写作作品
 * @param params 生成参数
 */
export function generateWriting(params: WritingParams) {
  return request({
    url: '/creation/writing/generate',
    method: 'POST',
    data: params
  })
}
